package com.chengyu.core.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UmsShopLevelOwnExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UmsShopLevelOwnExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNull() {
            addCriterion("shop_id is null");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNotNull() {
            addCriterion("shop_id is not null");
            return (Criteria) this;
        }

        public Criteria andShopIdEqualTo(Integer value) {
            addCriterion("shop_id =", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotEqualTo(Integer value) {
            addCriterion("shop_id <>", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThan(Integer value) {
            addCriterion("shop_id >", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("shop_id >=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThan(Integer value) {
            addCriterion("shop_id <", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThanOrEqualTo(Integer value) {
            addCriterion("shop_id <=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdIn(List<Integer> values) {
            addCriterion("shop_id in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotIn(List<Integer> values) {
            addCriterion("shop_id not in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdBetween(Integer value1, Integer value2) {
            addCriterion("shop_id between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotBetween(Integer value1, Integer value2) {
            addCriterion("shop_id not between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andLevelIsNull() {
            addCriterion("level is null");
            return (Criteria) this;
        }

        public Criteria andLevelIsNotNull() {
            addCriterion("level is not null");
            return (Criteria) this;
        }

        public Criteria andLevelEqualTo(Integer value) {
            addCriterion("level =", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotEqualTo(Integer value) {
            addCriterion("level <>", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThan(Integer value) {
            addCriterion("level >", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("level >=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThan(Integer value) {
            addCriterion("level <", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelLessThanOrEqualTo(Integer value) {
            addCriterion("level <=", value, "level");
            return (Criteria) this;
        }

        public Criteria andLevelIn(List<Integer> values) {
            addCriterion("level in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotIn(List<Integer> values) {
            addCriterion("level not in", values, "level");
            return (Criteria) this;
        }

        public Criteria andLevelBetween(Integer value1, Integer value2) {
            addCriterion("level between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("level not between", value1, value2, "level");
            return (Criteria) this;
        }

        public Criteria andSortIsNull() {
            addCriterion("sort is null");
            return (Criteria) this;
        }

        public Criteria andSortIsNotNull() {
            addCriterion("sort is not null");
            return (Criteria) this;
        }

        public Criteria andSortEqualTo(Integer value) {
            addCriterion("sort =", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotEqualTo(Integer value) {
            addCriterion("sort <>", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortGreaterThan(Integer value) {
            addCriterion("sort >", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortGreaterThanOrEqualTo(Integer value) {
            addCriterion("sort >=", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortLessThan(Integer value) {
            addCriterion("sort <", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortLessThanOrEqualTo(Integer value) {
            addCriterion("sort <=", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortIn(List<Integer> values) {
            addCriterion("sort in", values, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotIn(List<Integer> values) {
            addCriterion("sort not in", values, "sort");
            return (Criteria) this;
        }

        public Criteria andSortBetween(Integer value1, Integer value2) {
            addCriterion("sort between", value1, value2, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotBetween(Integer value1, Integer value2) {
            addCriterion("sort not between", value1, value2, "sort");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumIsNull() {
            addCriterion("upload_trends_num is null");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumIsNotNull() {
            addCriterion("upload_trends_num is not null");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumEqualTo(Integer value) {
            addCriterion("upload_trends_num =", value, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumNotEqualTo(Integer value) {
            addCriterion("upload_trends_num <>", value, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumGreaterThan(Integer value) {
            addCriterion("upload_trends_num >", value, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("upload_trends_num >=", value, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumLessThan(Integer value) {
            addCriterion("upload_trends_num <", value, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumLessThanOrEqualTo(Integer value) {
            addCriterion("upload_trends_num <=", value, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumIn(List<Integer> values) {
            addCriterion("upload_trends_num in", values, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumNotIn(List<Integer> values) {
            addCriterion("upload_trends_num not in", values, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumBetween(Integer value1, Integer value2) {
            addCriterion("upload_trends_num between", value1, value2, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadTrendsNumNotBetween(Integer value1, Integer value2) {
            addCriterion("upload_trends_num not between", value1, value2, "uploadTrendsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumIsNull() {
            addCriterion("upload_goods_num is null");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumIsNotNull() {
            addCriterion("upload_goods_num is not null");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumEqualTo(Integer value) {
            addCriterion("upload_goods_num =", value, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumNotEqualTo(Integer value) {
            addCriterion("upload_goods_num <>", value, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumGreaterThan(Integer value) {
            addCriterion("upload_goods_num >", value, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("upload_goods_num >=", value, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumLessThan(Integer value) {
            addCriterion("upload_goods_num <", value, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumLessThanOrEqualTo(Integer value) {
            addCriterion("upload_goods_num <=", value, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumIn(List<Integer> values) {
            addCriterion("upload_goods_num in", values, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumNotIn(List<Integer> values) {
            addCriterion("upload_goods_num not in", values, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumBetween(Integer value1, Integer value2) {
            addCriterion("upload_goods_num between", value1, value2, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andUploadGoodsNumNotBetween(Integer value1, Integer value2) {
            addCriterion("upload_goods_num not between", value1, value2, "uploadGoodsNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumIsNull() {
            addCriterion("bind_expert_num is null");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumIsNotNull() {
            addCriterion("bind_expert_num is not null");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumEqualTo(Integer value) {
            addCriterion("bind_expert_num =", value, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumNotEqualTo(Integer value) {
            addCriterion("bind_expert_num <>", value, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumGreaterThan(Integer value) {
            addCriterion("bind_expert_num >", value, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("bind_expert_num >=", value, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumLessThan(Integer value) {
            addCriterion("bind_expert_num <", value, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumLessThanOrEqualTo(Integer value) {
            addCriterion("bind_expert_num <=", value, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumIn(List<Integer> values) {
            addCriterion("bind_expert_num in", values, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumNotIn(List<Integer> values) {
            addCriterion("bind_expert_num not in", values, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumBetween(Integer value1, Integer value2) {
            addCriterion("bind_expert_num between", value1, value2, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andBindExpertNumNotBetween(Integer value1, Integer value2) {
            addCriterion("bind_expert_num not between", value1, value2, "bindExpertNum");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityIsNull() {
            addCriterion("storage_quantity is null");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityIsNotNull() {
            addCriterion("storage_quantity is not null");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityEqualTo(Double value) {
            addCriterion("storage_quantity =", value, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityNotEqualTo(Double value) {
            addCriterion("storage_quantity <>", value, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityGreaterThan(Double value) {
            addCriterion("storage_quantity >", value, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityGreaterThanOrEqualTo(Double value) {
            addCriterion("storage_quantity >=", value, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityLessThan(Double value) {
            addCriterion("storage_quantity <", value, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityLessThanOrEqualTo(Double value) {
            addCriterion("storage_quantity <=", value, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityIn(List<Double> values) {
            addCriterion("storage_quantity in", values, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityNotIn(List<Double> values) {
            addCriterion("storage_quantity not in", values, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityBetween(Double value1, Double value2) {
            addCriterion("storage_quantity between", value1, value2, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andStorageQuantityNotBetween(Double value1, Double value2) {
            addCriterion("storage_quantity not between", value1, value2, "storageQuantity");
            return (Criteria) this;
        }

        public Criteria andRecommendNumIsNull() {
            addCriterion("recommend_num is null");
            return (Criteria) this;
        }

        public Criteria andRecommendNumIsNotNull() {
            addCriterion("recommend_num is not null");
            return (Criteria) this;
        }

        public Criteria andRecommendNumEqualTo(Integer value) {
            addCriterion("recommend_num =", value, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andRecommendNumNotEqualTo(Integer value) {
            addCriterion("recommend_num <>", value, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andRecommendNumGreaterThan(Integer value) {
            addCriterion("recommend_num >", value, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andRecommendNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("recommend_num >=", value, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andRecommendNumLessThan(Integer value) {
            addCriterion("recommend_num <", value, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andRecommendNumLessThanOrEqualTo(Integer value) {
            addCriterion("recommend_num <=", value, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andRecommendNumIn(List<Integer> values) {
            addCriterion("recommend_num in", values, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andRecommendNumNotIn(List<Integer> values) {
            addCriterion("recommend_num not in", values, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andRecommendNumBetween(Integer value1, Integer value2) {
            addCriterion("recommend_num between", value1, value2, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andRecommendNumNotBetween(Integer value1, Integer value2) {
            addCriterion("recommend_num not between", value1, value2, "recommendNum");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyIsNull() {
            addCriterion("virtual_currency is null");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyIsNotNull() {
            addCriterion("virtual_currency is not null");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyEqualTo(Integer value) {
            addCriterion("virtual_currency =", value, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyNotEqualTo(Integer value) {
            addCriterion("virtual_currency <>", value, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyGreaterThan(Integer value) {
            addCriterion("virtual_currency >", value, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyGreaterThanOrEqualTo(Integer value) {
            addCriterion("virtual_currency >=", value, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyLessThan(Integer value) {
            addCriterion("virtual_currency <", value, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyLessThanOrEqualTo(Integer value) {
            addCriterion("virtual_currency <=", value, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyIn(List<Integer> values) {
            addCriterion("virtual_currency in", values, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyNotIn(List<Integer> values) {
            addCriterion("virtual_currency not in", values, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyBetween(Integer value1, Integer value2) {
            addCriterion("virtual_currency between", value1, value2, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andVirtualCurrencyNotBetween(Integer value1, Integer value2) {
            addCriterion("virtual_currency not between", value1, value2, "virtualCurrency");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeIsNull() {
            addCriterion("level_describe is null");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeIsNotNull() {
            addCriterion("level_describe is not null");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeEqualTo(String value) {
            addCriterion("level_describe =", value, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeNotEqualTo(String value) {
            addCriterion("level_describe <>", value, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeGreaterThan(String value) {
            addCriterion("level_describe >", value, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeGreaterThanOrEqualTo(String value) {
            addCriterion("level_describe >=", value, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeLessThan(String value) {
            addCriterion("level_describe <", value, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeLessThanOrEqualTo(String value) {
            addCriterion("level_describe <=", value, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeLike(String value) {
            addCriterion("level_describe like", value, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeNotLike(String value) {
            addCriterion("level_describe not like", value, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeIn(List<String> values) {
            addCriterion("level_describe in", values, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeNotIn(List<String> values) {
            addCriterion("level_describe not in", values, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeBetween(String value1, String value2) {
            addCriterion("level_describe between", value1, value2, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andLevelDescribeNotBetween(String value1, String value2) {
            addCriterion("level_describe not between", value1, value2, "levelDescribe");
            return (Criteria) this;
        }

        public Criteria andIsShowIsNull() {
            addCriterion("is_show is null");
            return (Criteria) this;
        }

        public Criteria andIsShowIsNotNull() {
            addCriterion("is_show is not null");
            return (Criteria) this;
        }

        public Criteria andIsShowEqualTo(Integer value) {
            addCriterion("is_show =", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotEqualTo(Integer value) {
            addCriterion("is_show <>", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThan(Integer value) {
            addCriterion("is_show >", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_show >=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThan(Integer value) {
            addCriterion("is_show <", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThanOrEqualTo(Integer value) {
            addCriterion("is_show <=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowIn(List<Integer> values) {
            addCriterion("is_show in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotIn(List<Integer> values) {
            addCriterion("is_show not in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowBetween(Integer value1, Integer value2) {
            addCriterion("is_show between", value1, value2, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotBetween(Integer value1, Integer value2) {
            addCriterion("is_show not between", value1, value2, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelIsNull() {
            addCriterion("is_init_level is null");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelIsNotNull() {
            addCriterion("is_init_level is not null");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelEqualTo(Integer value) {
            addCriterion("is_init_level =", value, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelNotEqualTo(Integer value) {
            addCriterion("is_init_level <>", value, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelGreaterThan(Integer value) {
            addCriterion("is_init_level >", value, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_init_level >=", value, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelLessThan(Integer value) {
            addCriterion("is_init_level <", value, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelLessThanOrEqualTo(Integer value) {
            addCriterion("is_init_level <=", value, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelIn(List<Integer> values) {
            addCriterion("is_init_level in", values, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelNotIn(List<Integer> values) {
            addCriterion("is_init_level not in", values, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelBetween(Integer value1, Integer value2) {
            addCriterion("is_init_level between", value1, value2, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andIsInitLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("is_init_level not between", value1, value2, "isInitLevel");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNull() {
            addCriterion("add_time is null");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNotNull() {
            addCriterion("add_time is not null");
            return (Criteria) this;
        }

        public Criteria andAddTimeEqualTo(Date value) {
            addCriterion("add_time =", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotEqualTo(Date value) {
            addCriterion("add_time <>", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThan(Date value) {
            addCriterion("add_time >", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("add_time >=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThan(Date value) {
            addCriterion("add_time <", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThanOrEqualTo(Date value) {
            addCriterion("add_time <=", value, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeIn(List<Date> values) {
            addCriterion("add_time in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotIn(List<Date> values) {
            addCriterion("add_time not in", values, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeBetween(Date value1, Date value2) {
            addCriterion("add_time between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddTimeNotBetween(Date value1, Date value2) {
            addCriterion("add_time not between", value1, value2, "addTime");
            return (Criteria) this;
        }

        public Criteria andAddByIsNull() {
            addCriterion("add_by is null");
            return (Criteria) this;
        }

        public Criteria andAddByIsNotNull() {
            addCriterion("add_by is not null");
            return (Criteria) this;
        }

        public Criteria andAddByEqualTo(String value) {
            addCriterion("add_by =", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotEqualTo(String value) {
            addCriterion("add_by <>", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByGreaterThan(String value) {
            addCriterion("add_by >", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByGreaterThanOrEqualTo(String value) {
            addCriterion("add_by >=", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByLessThan(String value) {
            addCriterion("add_by <", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByLessThanOrEqualTo(String value) {
            addCriterion("add_by <=", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByLike(String value) {
            addCriterion("add_by like", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotLike(String value) {
            addCriterion("add_by not like", value, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByIn(List<String> values) {
            addCriterion("add_by in", values, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotIn(List<String> values) {
            addCriterion("add_by not in", values, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByBetween(String value1, String value2) {
            addCriterion("add_by between", value1, value2, "addBy");
            return (Criteria) this;
        }

        public Criteria andAddByNotBetween(String value1, String value2) {
            addCriterion("add_by not between", value1, value2, "addBy");
            return (Criteria) this;
        }

        public Criteria andUpdTimeIsNull() {
            addCriterion("upd_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdTimeIsNotNull() {
            addCriterion("upd_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdTimeEqualTo(Date value) {
            addCriterion("upd_time =", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeNotEqualTo(Date value) {
            addCriterion("upd_time <>", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeGreaterThan(Date value) {
            addCriterion("upd_time >", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("upd_time >=", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeLessThan(Date value) {
            addCriterion("upd_time <", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeLessThanOrEqualTo(Date value) {
            addCriterion("upd_time <=", value, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeIn(List<Date> values) {
            addCriterion("upd_time in", values, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeNotIn(List<Date> values) {
            addCriterion("upd_time not in", values, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeBetween(Date value1, Date value2) {
            addCriterion("upd_time between", value1, value2, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdTimeNotBetween(Date value1, Date value2) {
            addCriterion("upd_time not between", value1, value2, "updTime");
            return (Criteria) this;
        }

        public Criteria andUpdByIsNull() {
            addCriterion("upd_by is null");
            return (Criteria) this;
        }

        public Criteria andUpdByIsNotNull() {
            addCriterion("upd_by is not null");
            return (Criteria) this;
        }

        public Criteria andUpdByEqualTo(String value) {
            addCriterion("upd_by =", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotEqualTo(String value) {
            addCriterion("upd_by <>", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByGreaterThan(String value) {
            addCriterion("upd_by >", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByGreaterThanOrEqualTo(String value) {
            addCriterion("upd_by >=", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByLessThan(String value) {
            addCriterion("upd_by <", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByLessThanOrEqualTo(String value) {
            addCriterion("upd_by <=", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByLike(String value) {
            addCriterion("upd_by like", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotLike(String value) {
            addCriterion("upd_by not like", value, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByIn(List<String> values) {
            addCriterion("upd_by in", values, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotIn(List<String> values) {
            addCriterion("upd_by not in", values, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByBetween(String value1, String value2) {
            addCriterion("upd_by between", value1, value2, "updBy");
            return (Criteria) this;
        }

        public Criteria andUpdByNotBetween(String value1, String value2) {
            addCriterion("upd_by not between", value1, value2, "updBy");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumIsNull() {
            addCriterion("ui_layout_num is null");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumIsNotNull() {
            addCriterion("ui_layout_num is not null");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumEqualTo(Integer value) {
            addCriterion("ui_layout_num =", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumNotEqualTo(Integer value) {
            addCriterion("ui_layout_num <>", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumGreaterThan(Integer value) {
            addCriterion("ui_layout_num >", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("ui_layout_num >=", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumLessThan(Integer value) {
            addCriterion("ui_layout_num <", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumLessThanOrEqualTo(Integer value) {
            addCriterion("ui_layout_num <=", value, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumIn(List<Integer> values) {
            addCriterion("ui_layout_num in", values, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumNotIn(List<Integer> values) {
            addCriterion("ui_layout_num not in", values, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumBetween(Integer value1, Integer value2) {
            addCriterion("ui_layout_num between", value1, value2, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andUiLayoutNumNotBetween(Integer value1, Integer value2) {
            addCriterion("ui_layout_num not between", value1, value2, "uiLayoutNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumIsNull() {
            addCriterion("goods_main_img_design_num is null");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumIsNotNull() {
            addCriterion("goods_main_img_design_num is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumEqualTo(Integer value) {
            addCriterion("goods_main_img_design_num =", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumNotEqualTo(Integer value) {
            addCriterion("goods_main_img_design_num <>", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumGreaterThan(Integer value) {
            addCriterion("goods_main_img_design_num >", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_main_img_design_num >=", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumLessThan(Integer value) {
            addCriterion("goods_main_img_design_num <", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumLessThanOrEqualTo(Integer value) {
            addCriterion("goods_main_img_design_num <=", value, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumIn(List<Integer> values) {
            addCriterion("goods_main_img_design_num in", values, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumNotIn(List<Integer> values) {
            addCriterion("goods_main_img_design_num not in", values, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumBetween(Integer value1, Integer value2) {
            addCriterion("goods_main_img_design_num between", value1, value2, "goodsMainImgDesignNum");
            return (Criteria) this;
        }

        public Criteria andGoodsMainImgDesignNumNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_main_img_design_num not between", value1, value2, "goodsMainImgDesignNum");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}